package cn.wolfcode.service;


import cn.wolfcode.domain.OrderInfo;
import cn.wolfcode.mq.OrderMQResult;

import java.util.Map;

/**
 * Created by wolfcode-lanxw
 */
public interface IOrderInfoService {

    /**
     * 秒杀业务逻辑
     * @param time
     * @param seckillId
     * @param phone
     * @return
     */
    String doSeckill(Integer time, Long seckillId, Long phone);

    /**
     * 超时取消
     * @param orderMQResult
     */
    void timeOutCancel(OrderMQResult orderMQResult);

    /**
     * 根据订单号查询该该商品的详细信息
     * @param orderNo
     * @return
     */
    OrderInfo find(String orderNo);

    /**
     * 实现在线支付类型业务
     * @param orderNo
     * @param type
     * @return
     */
    String onlinePayment(String orderNo, int type);

    /**
     * 执行支付成功逻辑业务
     * @param orderNo
     */
    void paySuccess(String orderNo);

    /**
     * 在线退款流程
     * @param orderInfo
     */
    void refundOnline(OrderInfo orderInfo);

    /**
     * 实现积分支付业务
     * @param orderNo
     * @param type
     */
    void IntegralToPay(String orderNo, int type);

    /**
     * 积分退款流程
     * @param orderInfo
     */
    void IntegralRefund(OrderInfo orderInfo);
}
